package com.atguigu.exam;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

/**
 * 1)利用Java代码创建D:\temp\temp1\temp2共3个文件夹
 * 2)在temp文件夹下创建一个1.txt文件内容为hello，创建一个Hello.java文件
 * 3)内容为public static void main(String[] args){},在temp1文件夹下创建同样的两个文件
 * 4)输出temp文件夹下包括其子文件夹下，所有的.java文件
 * @author xbd
 * @create 2021-05-30 20:22
 */
public class DirTest {
    public static void main(String[] args) {
        //1)利用Java代码创建D:\temp\temp1\temp2共3个文件夹
        File file = new File("D:\\temp\\temp1\\temp2");
        if(!file.exists()){
            file.mkdirs();
            System.out.println("创建文件夹。。。");
        }
        //在temp文件夹下创建一个1.txt文件内容为hello
        BufferedWriter bw = null;
        try {
            bw = new BufferedWriter(new FileWriter("D:\\temp\\1.txt"));
            String str = "hello";
            bw.write(str);
            System.out.println("写入txt");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if(bw != null){
                try {
                    bw.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        //创建一个Hello.java文件内容为public static void main(String[] args){}
        BufferedWriter bw1 = null;
        try {
            bw1 = new BufferedWriter(new FileWriter("D:\\temp\\Hello.java"));
            String str1 = "public static void main(String[] args){}";
            bw1.write(str1);
            System.out.println("写入java");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if(bw1 != null){
                try {
                    bw1.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        //在temp1文件夹下创建同样的两个文件
        File file1 = new File("D:\\temp\\temp1\\1.txt");
        if(!file1.exists()){
            try {
                file1.createNewFile();
                System.out.println("创建txt。。。");
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        File file2 = new File("D:\\temp\\temp1\\Hello.java");
        if(!file2.exists()){
            try {
                file2.createNewFile();
                System.out.println("创建java。。。");
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        //输出temp文件夹下包括其子文件夹下，所有的.java文件
        File file3 = new File("D:\\temp");
        seek(file3);
    }
    public static void seek(File f){
        File[] files = f.listFiles();
        if(files != null){
            for(File file4 : files){
                if(file4.getName().endsWith(".java")){
                    System.out.println(file4);
                }
                seek(file4);
            }
        }
    }
}
